             package com.java.diagnostics.visualizer.recommender.pause;
             
             import com.java.diagnostics.visualizer.data.AggregateData;
             import com.java.diagnostics.visualizer.data.TupleData;
             import com.java.diagnostics.visualizer.data.axes.YDataAxis;
             import com.java.diagnostics.visualizer.gc.recommender.RecommendationPreferenceHelper;
             import com.java.diagnostics.visualizer.parser.vgc.constants.VGCAxes;
             import com.java.diagnostics.visualizer.recommender.Recommendation;
             import com.java.diagnostics.visualizer.recommender.RecommendationBase;
             import com.java.diagnostics.visualizer.recommender.util.RecommendationLabels;
             import java.text.MessageFormat;
             
             public class LookForLongPauses
               extends RecommendationBase
               implements Recommendation
             {
               public void recommend(AggregateData data)
               {
                 TupleData pauses = data
                   .getTupleData("VGCLabels.pause.times.without.exclusive.access");
                 
                 if ((pauses != null) && (!pauses.isEmpty())) {
                   double maxPause = pauses.getRawMaxY();
                   if (maxPause > this.helper.getLongPauseThreshold()) {
                     String comment = MessageFormat.format(
                       RecommendationLabels.LARGE_PAUSE_WARNING, new Object[] {
                       pauses.getYAxis().formatUnconverted(maxPause, 
                       VGCAxes.MILLISECONDS), 
                       VGCAxes.MILLISECONDS });
                     addWarning(data, comment);
                   }
                 }
               }
             }


